/* 
  思路：
    1. 读取歌词文件
    2. 提取出所有的 时间和歌词
    3. 配合延时器 setTimeout 打印歌词
    4. 需要把提取到的时间转成毫秒值

*/
function toNumber(time) {
  const reg = /(\d{2}):(\d{2})\.(\d{2})/
  const [, m, s, ms] = reg.exec(time)
  return m * 60 * 1000 + s * 1000 + ms * 10
}

const fs = require('fs')
const path = require('path')
// 1. 读取歌词内容
fs.readFile(path.join(__dirname, '演员 - 薛之谦.lrc'), 'utf8', (err, data) => {
  if (err) return console.log(err)

  const reg = /\[(\d{2}:\d{2}\.\d{2})\](.*)\r\n/g
  // 多次提取
  let result
  while (true) {
    result = reg.exec(data)
    if (!result) {
      // result为null，提取不到了
      break
    }
    const [, time, text] = result
    setTimeout(() => {
      console.log(text)
    }, toNumber(time))
  }
})
